# debug_with_breakpoints.py  
  
def add_numbers(a, b):  
    """  
    返回两个数字的和  
    """  
    # 断点1：检查a和b的值是否正确传递  
    return a + b  
  
def divide_numbers(a, b):  
    """  
    返回两个数字的商，如果除数为零则抛出异常  
    """  
    # 断点2：检查b是否为0，防止除以零  
    try:  
        result = a / b  
        # 断点3：检查计算结果是否正确  
        return result  
    except ZeroDivisionError as e:  
        # 断点4（可选）：捕获异常并处理  
        print(f"Error: Division by zero - {e}")  
        return float('inf')  # 或者返回None，根据需求决定  
  
def main():  
    """  
    主函数  
    """  
    # 断点5：初始化变量x和y  
    x = 5  
    y = 3  
  
    # 断点6：调用add_numbers前，检查x和y的值  
    print("Adding numbers:")  
    result_add = add_numbers(x, y)  
    # 断点7：检查add_numbers的返回值  
    print(f"{x} + {y} = {result_add}")  
  
    # 断点8：准备调用divide_numbers，检查参数  
    print("\nDividing numbers:")  
    try:  
        result_div = divide_numbers(10, 0)  # 故意设置为0以触发异常  
    except ZeroDivisionError as e:  
        # 断点9（可选）：在main函数中捕获异常  
        print(f"Caught in main: {e}")  
  
if __name__ == "__main__":  
    # 断点10：程序入口，检查是否进入main函数  
    main()